package singleton;

/**
 * 懒汉式单例，线程不安全
 *
 * @author Pymjl
 * @version 1.0
 * @date 2022/8/11 0:22
 **/
public class Singleton {
    private static Singleton singleton;

    private Singleton() {

    }

    public static Singleton getInstance() {
        //在多线程环境下，加入线程A、B、C都执行到if语句后用完了时间片，
        //此时因为singleton还未被初始化，那么这三个线程判断都为true
        //当重新获取时间片后这三个线程会分别创建一个singleton对象，因此线程不安全
        if (singleton == null) {
            singleton = new Singleton();
        }
        return singleton;
    }
}
